package com.ztesoft.web.filecommon.db.dao.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import com.ztesoft.web.filecommon.db.arg.DmFDetailArg;
import com.ztesoft.web.filecommon.db.po.DmFDetailPO;

public interface IDmFDetailMapper {
    
    List<Integer> countByArg(DmFDetailArg arg);

    List<DmFDetailPO> selectByArg(DmFDetailArg arg);

    DmFDetailPO selectByPrimaryKey(Integer id);

    List<DmFDetailPO> selectByArgAndPage(DmFDetailArg arg, RowBounds rowBound);

    int insert(DmFDetailPO record);

    int insertSelective(DmFDetailPO record);

    int insertBatch(@Param("list") List<DmFDetailPO> records);

    int updateByArgSelective(@Param("record") DmFDetailPO record,
            @Param("arg") DmFDetailArg arg);

    int updateByArg(@Param("record") DmFDetailPO record,
            @Param("arg") DmFDetailArg arg);

    int updateByPrimaryKeySelective(DmFDetailPO record);

    int updateByPrimaryKey(DmFDetailPO record);
    
    int deleteByArg(@Param("tableName")String tableName,@Param("arg")DmFDetailArg arg);
    
    int deleteByPrimaryKey(Integer id);
    
    int insertBatch(@Param("table")String tableName, @Param("list") List<DmFDetailPO> records);
    
	DmFDetailPO selectByTrackId(@Param("trackId")Integer trackId,@Param("dmStrategyId") Integer dmStrategyId);
	
	 int updateBySctArg(@Param("tableName")String tableName,@Param("record") DmFDetailPO record,@Param("arg")DmFDetailArg arg);
    
}